1. Field of the Invention
This invention relates to information technology (IT), and more particularly, to a computer platform system control unit data programming control method and system which is designed for use in conjunction with a computer platform, such as a network server, that is equipped with a particular type of system control unit, such as a BMC (Baseboard Management Controller) module, for providing the BMC module with a data programming control function for controlling the programming of a set of BMC control code into the BMC module.
2. Description of Related Art
BMC (Baseboard Management Controller) is a server-dedicated system control unit that is specifically designed for use with a network server and capable of working independently from the server's operating system for management of the operations of various modules in the server, including the server's CPU (Central Processing Unit), hard disk drives, fan units (for heat dissipation), power supplies, networking devices, and so on. The H2168 chipset offered by the Hitachi Corporation of Japan is an example of a BMC module for network servers.
In practical implementation, the BMC system control unit relies on an embedded set of program code to provide its functionality for the server. For this sake, when new BMC program code is available from the server manufacturer, the user needs to upgrade the BMC system control unit by performing a data programming procedure to write the new BMC program code into the BMC system control unit.
One conventional BMC data programming method is to utilize the GPIO (General Purpose Input/Output) pins on the BMC chip module to switch the BMC from normal mode to flash mode. One drawback to this practice, however, is that different models of servers having different hardware configurations or operating systems typically have different GPIO configurations. Therefore, in the development of program code, it would undesirably require the design of various editions of BMC flash utility programs to offer the same data programming control functionality on various different models of servers, thus causing the application to be inconvenient and costly to implement.